The present invention relates to volume rendering of medical volumetric data, and more particularly, to streaming-optimized progressive distributed volume rendering of medical volumetric data.
Volume rendering refers to generating and displaying 2D projection images of a 3D volumetric data set. Volume rendering is often applied to 3D medical volumes, such as computed tomography (CT) or magnetic resonance imaging (MRI) volumes, to generate 2D projection images. Ray tracing is a rendering technique in which a 2D projection image is generated by tracing the path of light through pixels in an image plane and simulating the effects of its encounters with virtual objects. Distributed ray tracing is typically performed progressively by averaging images generated by tracing a large number of light paths to create a final rendered image. Ray tracing is capable of producing very high-quality 2D images, but at a high computational cost.
A major challenge for a computationally intensive ray tracing rendering pipeline for medical image visualization is that in order to maintain certain interactivity and low latency sufficient for medical evaluation, it is often necessary to present lower quality, intermediate rendering results from a progressively rendered pipeline to the user. In a progressively rendered ray tracing pipeline, many iterations or rendering passes must be combined to produce the final high-quality image. The number of passes needed is highly dependent on the medical data and the selected settings, such as the set of supported visual effects and various viewing parameters. For example, the result of tracing a single light path from the viewing camera, through the medical data and to the light sources, may produce a very noisy image, and hundreds of light paths per pixel may be required to generate a noise-free image. Since the system must maintain a high frame rate during user interaction, the user experiences very distracting image noise that is resolved progressively only when the user interaction stops. This has a particularly significant effect when the system implements remote interaction, where the images are further streamed to a remote terminal. In this scenario, the noisy images can be further degraded by the compression algorithm used in the image transport. For example, for video based compression, this results in very large peaks in the video streaming bandwidth, or alternatively, in significant compression artifacts that are only resolved during idle-time refinement.